<!--
 * @Author: 李天惊 uf_lee@163.com
 * @Date: 2022-08-24 13:22:19
 * @LastEditors: 李天惊 uf_lee@163.com
 * @LastEditTime: 2023-08-04 16:02:09
 * @FilePath: \zhmc\pc\sys\src\views\System\App\components\See.vue
 * Copyright (c) 2022 by 李天惊 uf_lee@163.com, All Rights Reserved. 
-->
<script setup lang="ts">
import {
  //ref, unref, reactive,
  PropType
  //watch
} from 'vue'
// import { ElButton, ElMessageBox } from 'element-plus'
import { Descriptions } from '@/components/Descriptions'
// import { ContentWrap } from '@/components/ContentWrap'
//import { Table } from '@/components/Table'
// import { useTable } from '@/hooks/web/useTableTest'
// import { ucAppOrgListApi, ucAppOrgAddApi, ucAppOrgDelApi } from '@/api/uc/appOrg'
// import { ucOrgListApi } from '@/api/uc/org'
// import { CrudSchema, useCrudSchemas } from '@/hooks/web/useCrudSchemas'
// import { Dialog } from '@/components/Dialog'
// import Edit from './Edit.vue'

defineProps({
  currentRow: {
    type: Object as PropType<Nullable<any>>,
    default: () => null
  },
  detailSchema: {
    type: Array as PropType<DescriptionsSchema[]>,
    default: () => []
  }
})

// 相关组织查询
/****************************** 相关组织列表 start ******************************/
// const appOrgTable = useTable<
//   {
//     total: number
//     list: any[]
//   },
//   any
// >({
//   getListApi: ucAppOrgListApi,
//   response: {
//     data: 'data',
//     count: 'count'
//   }
// })

// const appOrgCrudSchemas = reactive<CrudSchema[]>([
//   {
//     field: 'org_name',
//     label: '组织名称',
//     search: {
//       show: true
//     },
//     form: {
//       show: false
//     }
//   },
//   {
//     field: 'org_id',
//     label: '选择组织',
//     table: {
//       show: false
//     },
//     form: {
//       component: 'DialogRefer',
//       componentProps: {
//         getListApi: ucOrgListApi,
//         response: {
//           count: 'count',
//           data: 'data'
//         },
//         title: '选择所属组织（双击选择）',
//         nameField: 'org_name',
//         valueField: 'org_id',
//         crudSchemas: [
//           {
//             field: 'org_name',
//             label: '组织名称',
//             fixed: 'left',
//             search: {
//               show: true
//             }
//           }
//         ]
//       }
//     }
//   },
//   {
//     field: 'action',
//     width: 80,
//     fixed: 'right',
//     label: '操作',
//     form: {
//       show: false
//     },
//     detail: {
//       show: false
//     }
//   }
// ])
//const appOrgRegister = appOrgTable.register
// const appOrgTableObject = appOrgTable.tableObject
// const appOrgMethods = appOrgTable.methods

// const appOrgAllSchemas = useCrudSchemas(appOrgCrudSchemas).allSchemas

// const appOrgGetList = appOrgMethods.getList

// const actionType = ref('')
// const dialogVisible = ref(false)
// const dialogTitle = ref('')
// const action = async (type: string, row: any = {}) => {
//   actionType.value = type
//   switch (type) {
//     case 'add':
//       dialogTitle.value = '新增'
//       appOrgTableObject.currentRow = {}
//       dialogVisible.value = true
//       break
//     case 'del':
//       ElMessageBox.confirm('确定要删除这个角色吗？', '删除', {
//         confirmButtonText: '确认',
//         cancelButtonText: '取消',
//         type: 'warning'
//       })
//         .then(() => {
//           apiDel(row.app_org_id)
//         })
//         .catch(() => {
//           console.log('这里是取消confirm弹框')
//         })
//       break
//     default:
//       console.log('未知类型')
//   }
// }

// const apiDel = async (app_org_id) => {
//   let delRes = await ucAppOrgDelApi({ app_org_id: app_org_id })
//     .catch(() => {})
//     .finally(() => {
//       // appOrgTableObject.loading = false
//     })
//   if (delRes) {
//     appOrgGetList()
//   }
// }

// const editRef = ref<ComponentRef<typeof Edit>>()
// const loading = ref(false)
// const save = async () => {
//   const write = unref(editRef)
//   switch (actionType.value) {
//     case 'add':
//       await write?.elFormRef?.validate(async (isValid) => {
//         if (isValid) {
//           loading.value = true
//           const data = (await write?.getFormData()) as any
//           const res = await ucAppOrgAddApi({ ...data, ...newFixedSearch.value })
//             .catch(() => {})
//             .finally(() => {
//               loading.value = false
//             })
//           if (res) {
//             dialogVisible.value = false
//             appOrgTableObject.currentPage = 1
//             appOrgGetList()
//           }
//         }
//       })
//       break
//     default:
//       console.log('未知类型')
//   }
// }
/****************************** 相关组织列表 end ******************************/

/****************************** 监听设置固定条件 start ******************************/
// const newFixedSearch = ref({})
// watch(
//   () => props.currentRow,
//   (val: any) => {
//     if (!val) return
//     // 设置固定条件
//     newFixedSearch.value = {
//       app_id: val.app_id
//     }
//     appOrgTableObject.fixedSearch = newFixedSearch.value
//   },
//   {
//     deep: true,
//     immediate: true
//   }
// )
/****************************** 监听设置固定条件 end ******************************/

/****************************** 初始化 start ******************************/
// appOrgGetList() //查询相关组织列表
/****************************** 初始化 end ******************************/
</script>

<template>
  <Descriptions :schema="detailSchema" :data="currentRow || {}" />

  <!-- <div class="p-10px">
    <ContentWrap title="可以登录的组织">
      <div class="mb-10px">
        <ElButton type="primary" @click="action('add', {})">新增</ElButton>
      </div>
      <Table
        v-model:pageSize="appOrgTableObject.pageSize"
        v-model:currentPage="appOrgTableObject.currentPage"
        :columns="appOrgAllSchemas.tableColumns"
        :data="appOrgTableObject.tableList"
        :loading="appOrgTableObject.loading"
        :pagination="{
          total: appOrgTableObject.count
        }"
        @register="appOrgRegister"
        :selection="false"
      >
        <template #action="{ row }">
          <ElButton type="primary" @click="action('edit', row)"> 编辑 </ElButton>
          <ElButton type="warning" @click="action('del', row)" title="删除"> 删除 </ElButton>
        </template>
      </Table>
    </ContentWrap>
  </div> -->

  <!-- <Dialog v-model="dialogVisible" :title="dialogTitle">
    <Edit
      v-if="actionType == 'edit' || actionType == 'add'"
      ref="editRef"
      :form-schema="appOrgAllSchemas.formSchema"
      :current-row="appOrgTableObject.currentRow"
    />
    <template #footer>
      <ElButton v-if="actionType !== 'detail'" type="primary" :loading="loading" @click="save">
        保存
      </ElButton>
      <ElButton @click="dialogVisible = false">关闭</ElButton>
    </template>
  </Dialog> -->
</template>
